In the event that a computer is under high load pressure, and to increase resource utilization of the computer, exhaustion of the physical memory in the computer often occurs, leading to frequent triggering of the out of memory (OOM) process. The OOM process in the kernel becomes the last defense to reduce the pressure on the system memory. Execution of the OOM process in a standard kernel becomes complicated due to the diverse application scenarios. The execution process in a kernel state under the high load pressure seems to be overly redundant and lengthy. Moreover, a prolonged kernel state processing in an operating system tends to cause system deadlock, resulting in problems such as system outage, thereby reducing service stability and availability.
On the other hand, as the application scenarios vary, more demands are raised for OOM processing strategies on the service layer. After the memory is overrun, new strategies to selectively end processes are proposed, such as preferentially ending low-priority operations. Changes of these strategies may make OOM processing logic more complex, and the OOM processing process becomes more time-consuming. Moreover, implementation of these strategies in the kernel also results in some difficulties in service upgrade and deployment.